package com.company.class6;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
 * @Classname ListTest
 * @Description 类型说明
 * @Date 2022/4/24 20:06
 * @Created by zbw
 */

public class ListTest {
    public static void main(String[] args) {
        //基本数据类型，没有实现为class类
        int b = 3;
        //有class的定义，可以调用方法和属性。叫做包装类
        //以下三种都可以完成对象的实例化操作。
        Integer a =3;
        Integer integer = Integer.valueOf(10);
        Integer c = new Integer(9);

        //创建
        //List/set/map中使用的时候必须使用包装类，不能用基本数据类型，
        List<Integer> list = new ArrayList<>();

        //增删改查
        list.add(1);
        list.add(3);
        list.add(3);
        System.out.println(list);
        //list拥有下标，可以在下标位置插入指定数据
        list.add(2,5);
        System.out.println(list);

        //删
        //remove的时候，使用数字默认用的是下标，会导致下标越界
//        list.remove(5);
        //如果要移除其中的数据元素，要使用Object，也就是用一个类对象
        Integer iObject= 5;
        //通过实例化操作，完成类对象的生成。
        list.remove(new Integer(3));
        list.remove(iObject);
        System.out.println(list);

        //改
        list.set(0,101);
        System.out.println(list);

        //查
        System.out.println(list.get(0));

        //遍历
        //1、下标遍历
        System.out.println("--------------------下标遍历----------------------");
        for(int i=0;i<list.size();i++){
            System.out.println("第"+i+"个元素的值是："+list.get(i));
        }

        //2、foreach
        System.out.println("--------------------foreach遍历----------------------");
        int count = 1;
        for (Integer i: list){
            System.out.println("第"+count+"个值是："+i);
            count++;
        }

        //3、iterator
        System.out.println("-------------------------iterator遍历-------------------");
        Iterator<Integer> iterator = list.iterator();
        while (iterator.hasNext()){
            System.out.println(iterator.next());

        }
    }
}
